#ifndef _IMPROVEDEXTENSIONLIST_H
#define _IMPROVEDEXTENSIONLIST_H

// common headers
#include "common.h"

// local headers

typedef struct sIEL sIEL;
struct sIEL {
    struct sIEL *prev;
    struct sIEL *next;

    char *ext;
    size_t extl;
    u32 hash;

    sPlugin *plug;
};

sIEL *  IEL_add         (sIEL **el, char *ext, size_t extl);
int     IEL_add_EL      (sIEL **iel, sEL el, sPlugin *plug);
int     IEL_add_copy_EL (sIEL **iel, sEL el, sPlugin *plug);
u32     IEL_hash        (char *str, size_t len);
sIEL *  IEL_search      (sIEL *el, char *ext, size_t extl);

#endif

